Example 1:
Input: x = 121
Output: true
Explanation: 121 reads as 121 from left to right and from right to left.
Example 2:
Input: x = -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
Example 3:
Input: x = 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
static void Main(string[] args)
{
IsPalindrome();
}
private static void IsPalindrome()
{
int x = 121;
bool isPalindrome = IsPalindrome(x);
Console.WriteLine($"回文:{isPalindrome}");
Console.ReadKey();
}
private static bool IsPalindrome(int x)
{
//負數 或者 個位數是 0 不算
if (x < 0 || (x % 10 == 0 && x != 0))
{
return false;
}
int revertedNumber = 0;
while (x > revertedNumber)
{
revertedNumber = revertedNumber * 10 + x % 10;
x /= 10;
}
return x == revertedNumber || x == revertedNumber / 10;
}